package com.ruoyi.module.domain;

import java.util.List;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 词典单词对象 dict_word
 * 
 * @author ruoyi
 */
public class DictWord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 单词ID */
    private Long id;

    /** 所属词典ID */
    @Excel(name = "所属词典ID")
    private String bookId;

    /** 单词 */
    @Excel(name = "单词")
    private String word;

    /** 标注（如日语假名标注） */
    @Excel(name = "标注")
    private String notation;

    /** 翻译（多个翻译用分号分隔） */
    @Excel(name = "翻译")
    private String translation;

    /** 美式音标 */
    @Excel(name = "美式音标")
    private String phoneticUs;

    /** 英式音标 */
    @Excel(name = "英式音标")
    private String phoneticUk;

    /** 例句 */
    @Excel(name = "例句")
    private String exampleSentence;

    /** 单词释义（英文定义） */
    @Excel(name = "单词释义")
    private String wordDefinition;

    /** 排序顺序 */
    @Excel(name = "排序顺序")
    private Integer sortOrder;

    /** 状态（0正常 1停用） */
    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
    private String status;

    /** 词典名称（关联查询，不存储） */
    private transient String bookName;

    /** 词典标签列表（关联查询，不存储） */
    private transient List<String> tags;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setBookId(String bookId) 
    {
        this.bookId = bookId;
    }

    public String getBookId() 
    {
        return bookId;
    }

    public void setWord(String word) 
    {
        this.word = word;
    }

    public String getWord() 
    {
        return word;
    }

    public void setNotation(String notation) 
    {
        this.notation = notation;
    }

    public String getNotation() 
    {
        return notation;
    }

    public void setTranslation(String translation) 
    {
        this.translation = translation;
    }

    public String getTranslation() 
    {
        return translation;
    }

    public void setPhoneticUs(String phoneticUs) 
    {
        this.phoneticUs = phoneticUs;
    }

    public String getPhoneticUs() 
    {
        return phoneticUs;
    }

    public void setPhoneticUk(String phoneticUk) 
    {
        this.phoneticUk = phoneticUk;
    }

    public String getPhoneticUk() 
    {
        return phoneticUk;
    }

    public void setExampleSentence(String exampleSentence) 
    {
        this.exampleSentence = exampleSentence;
    }

    public String getExampleSentence() 
    {
        return exampleSentence;
    }

    public void setWordDefinition(String wordDefinition) 
    {
        this.wordDefinition = wordDefinition;
    }

    public String getWordDefinition() 
    {
        return wordDefinition;
    }

    public void setSortOrder(Integer sortOrder) 
    {
        this.sortOrder = sortOrder;
    }

    public Integer getSortOrder() 
    {
        return sortOrder;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public String getBookName() 
    {
        return bookName;
    }

    public void setBookName(String bookName) 
    {
        this.bookName = bookName;
    }

    public List<String> getTags() 
    {
        return tags;
    }

    public void setTags(List<String> tags) 
    {
        this.tags = tags;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("bookId", getBookId())
            .append("word", getWord())
            .append("translation", getTranslation())
            .append("phoneticUs", getPhoneticUs())
            .append("phoneticUk", getPhoneticUk())
            .append("exampleSentence", getExampleSentence())
            .append("wordDefinition", getWordDefinition())
            .append("sortOrder", getSortOrder())
            .append("status", getStatus())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}

